[INFO] cloning repository https://github.com/Stratus51/coding_games_ocean_of_code
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Stratus51/coding_games_ocean_of_code" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStratus51%2Fcoding_games_ocean_of_code", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStratus51%2Fcoding_games_ocean_of_code'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eb7a492144672defb4403fa87aaa6c4abf7aeb28
[INFO] checking Stratus51/coding_games_ocean_of_code against master#cfbc6d4cf1acbac5c025acf8ed68929caa551df3 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FStratus51%2Fcoding_games_ocean_of_code" "/workspace/builds/worker-1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Stratus51/coding_games_ocean_of_code on toolchain cfbc6d4cf1acbac5c025acf8ed68929caa551df3
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Stratus51/coding_games_ocean_of_code
[INFO] finished tweaking git repo https://github.com/Stratus51/coding_games_ocean_of_code
[INFO] tweaked toml for git repo https://github.com/Stratus51/coding_games_ocean_of_code written to /workspace/builds/worker-1/source/Cargo.toml
[INFO] crate git repo https://github.com/Stratus51/coding_games_ocean_of_code already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dded8599171e25c19471bccf6ce197685912a4f9250ea8117a688abeaad62613
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "dded8599171e25c19471bccf6ce197685912a4f9250ea8117a688abeaad62613", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dded8599171e25c19471bccf6ce197685912a4f9250ea8117a688abeaad62613", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dded8599171e25c19471bccf6ce197685912a4f9250ea8117a688abeaad62613", kill_on_drop: false }`
[INFO] [stdout] dded8599171e25c19471bccf6ce197685912a4f9250ea8117a688abeaad62613
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+cfbc6d4cf1acbac5c025acf8ed68929caa551df3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ace464dfdd44fc851e9e0708a8fb885b0d2b76d4364a34b89431f33b3ad12dbe
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "ace464dfdd44fc851e9e0708a8fb885b0d2b76d4364a34b89431f33b3ad12dbe", kill_on_drop: false }`
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking getrandom v0.1.14
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking coding_games_ocean_of_code v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:510:13
[INFO] [stdout]     |
[INFO] [stdout] 510 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sonar_result`
[INFO] [stdout]     --> src/main.rs:1242:13
[INFO] [stdout]      |
[INFO] [stdout] 1242 |         let sonar_result = input_line.trim().to_string();
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sonar_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `NB_SECTORS`
[INFO] [stdout]   --> src/main.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | const NB_SECTORS: usize = 9;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `parse`
[INFO] [stdout]    --> src/main.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn parse(s: &str) -> Self {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `nb_true_bits`
[INFO] [stdout]    --> src/main.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn nb_true_bits(n: u16) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `nb_false_bits`
[INFO] [stdout]    --> src/main.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn nb_false_bits(n: u16) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `TRUE_BITS`
[INFO] [stdout]    --> src/main.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | static mut TRUE_BITS: [u8; 128] = [0; 128];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `FALSE_BITS`
[INFO] [stdout]    --> src/main.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | static mut FALSE_BITS: [u8; 128] = [0; 128];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/main.rs:510:13
[INFO] [stdout]     |
[INFO] [stdout] 510 |         for i in 0..size {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `init_maps`
[INFO] [stdout]    --> src/main.rs:161:11
[INFO] [stdout]     |
[INFO] [stdout] 161 | unsafe fn init_maps() {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sonar_result`
[INFO] [stdout]     --> src/main.rs:1242:13
[INFO] [stdout]      |
[INFO] [stdout] 1242 |         let sonar_result = input_line.trim().to_string();
[INFO] [stdout]      |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sonar_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set`
[INFO] [stdout]    --> src/main.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn set(&mut self, pos: Pos, value: bool) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get`
[INFO] [stdout]    --> src/main.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn get(&self, pos: Pos) -> bool {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `copy_from`
[INFO] [stdout]    --> src/main.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn copy_from(&mut self, map: &NewMap) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `shift`
[INFO] [stdout]    --> src/main.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn shift(&mut self, dir: &Direction, n: usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `ipos_shift`
[INFO] [stdout]    --> src/main.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn ipos_shift(&mut self, pos_shift: IPos) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `first_match`
[INFO] [stdout]    --> src/main.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn first_match(&self, value: bool) -> Result<Pos, ()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `count`
[INFO] [stdout]    --> src/main.rs:253:8
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn count(&self, value: bool) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `compose`
[INFO] [stdout]    --> src/main.rs:269:8
[INFO] [stdout]     |
[INFO] [stdout] 269 |     fn compose(&self, map: &NewMap, map_offset: &Pos) -> NewMap {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `eq_or`
[INFO] [stdout]    --> src/main.rs:389:8
[INFO] [stdout]     |
[INFO] [stdout] 389 |     fn eq_or(&mut self, map: &Map) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `reset`
[INFO] [stdout]    --> src/main.rs:399:8
[INFO] [stdout]     |
[INFO] [stdout] 399 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `dist`
[INFO] [stdout]    --> src/main.rs:715:8
[INFO] [stdout]     |
[INFO] [stdout] 715 |     fn dist(&self, rhs: &Pos) -> usize {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `isub`
[INFO] [stdout]    --> src/main.rs:719:8
[INFO] [stdout]     |
[INFO] [stdout] 719 |     fn isub(&self, rhs: &Self) -> IPos {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `IPos`
[INFO] [stdout]    --> src/main.rs:727:8
[INFO] [stdout]     |
[INFO] [stdout] 727 | struct IPos {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/main.rs:741:14
[INFO] [stdout]     |
[INFO] [stdout] 741 |     const fn new() -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `SECTOR_MASK`
[INFO] [stdout]    --> src/main.rs:749:1
[INFO] [stdout]     |
[INFO] [stdout] 749 | static mut SECTOR_MASK: [NewMap; NB_SECTORS] = [NewMap::new(); NB_SECTORS];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `TORPEDO_RANGE_MAP`
[INFO] [stdout]    --> src/main.rs:750:1
[INFO] [stdout]     |
[INFO] [stdout] 750 | static mut TORPEDO_RANGE_MAP: OffCenteredMap = OffCenteredMap::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `TORPEDO_SIDE_HIT_MAP`
[INFO] [stdout]    --> src/main.rs:751:1
[INFO] [stdout]     |
[INFO] [stdout] 751 | static mut TORPEDO_SIDE_HIT_MAP: OffCenteredMap = OffCenteredMap::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `SILENCE_RANGE_MAP`
[INFO] [stdout]    --> src/main.rs:752:1
[INFO] [stdout]     |
[INFO] [stdout] 752 | static mut SILENCE_RANGE_MAP: OffCenteredMap = OffCenteredMap::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `init_game_maps`
[INFO] [stdout]    --> src/main.rs:754:11
[INFO] [stdout]     |
[INFO] [stdout] 754 | unsafe fn init_game_maps() {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Exact`
[INFO] [stdout]    --> src/main.rs:804:5
[INFO] [stdout]     |
[INFO] [stdout] 804 |     Exact(Pos),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Area`
[INFO] [stdout]    --> src/main.rs:805:5
[INFO] [stdout]     |
[INFO] [stdout] 805 |     Area(NewMap),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/main.rs:822:8
[INFO] [stdout]     |
[INFO] [stdout] 822 |     fn new(water_map: NewMap) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `analyse_action`
[INFO] [stdout]    --> src/main.rs:831:8
[INFO] [stdout]     |
[INFO] [stdout] 831 |     fn analyse_action(&mut self, action: &OppAction) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `analyse_actions`
[INFO] [stdout]    --> src/main.rs:882:8
[INFO] [stdout]     |
[INFO] [stdout] 882 |     fn analyse_actions(&mut self, actions: &[OppAction]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Move`
[INFO] [stdout]    --> src/main.rs:975:5
[INFO] [stdout]     |
[INFO] [stdout] 975 |     Move { dir: Direction, sys: System },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Surface`
[INFO] [stdout]    --> src/main.rs:976:5
[INFO] [stdout]     |
[INFO] [stdout] 976 |     Surface,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Torpedo`
[INFO] [stdout]    --> src/main.rs:977:5
[INFO] [stdout]     |
[INFO] [stdout] 977 |     Torpedo(Pos),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Sonar`
[INFO] [stdout]    --> src/main.rs:978:5
[INFO] [stdout]     |
[INFO] [stdout] 978 |     Sonar(usize),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Silence`
[INFO] [stdout]    --> src/main.rs:979:5
[INFO] [stdout]     |
[INFO] [stdout] 979 |     Silence { dir: Direction, dist: usize },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `into_opp_action`
[INFO] [stdout]    --> src/main.rs:998:8
[INFO] [stdout]     |
[INFO] [stdout] 998 |     fn into_opp_action(&self, current_sector: usize) -> OppAction {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Move`
[INFO] [stdout]     --> src/main.rs:1014:5
[INFO] [stdout]      |
[INFO] [stdout] 1014 |     Move(Direction),
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Surface`
[INFO] [stdout]     --> src/main.rs:1015:5
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     Surface(usize),
[INFO] [stdout]      |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Torpedo`
[INFO] [stdout]     --> src/main.rs:1016:5
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     Torpedo(Pos),
[INFO] [stdout]      |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Sonar`
[INFO] [stdout]     --> src/main.rs:1017:5
[INFO] [stdout]      |
[INFO] [stdout] 1017 |     Sonar(usize),
[INFO] [stdout]      |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Silence`
[INFO] [stdout]     --> src/main.rs:1018:5
[INFO] [stdout]      |
[INFO] [stdout] 1018 |     Silence,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `parse`
[INFO] [stdout]     --> src/main.rs:1021:8
[INFO] [stdout]      |
[INFO] [stdout] 1021 |     fn parse(s: &str) -> Self {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `torpedo`
[INFO] [stdout]     --> src/main.rs:1278:8
[INFO] [stdout]      |
[INFO] [stdout] 1278 |     fn torpedo(&mut self, pos: Pos) -> Result<(), ()> {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `NB_SECTORS`
[INFO] [stdout]   --> src/main.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | const NB_SECTORS: usize = 9;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `parse`
[INFO] [stdout]    --> src/main.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn parse(s: &str) -> Self {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `nb_true_bits`
[INFO] [stdout]    --> src/main.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn nb_true_bits(n: u16) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `nb_false_bits`
[INFO] [stdout]    --> src/main.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn nb_false_bits(n: u16) -> u8 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `TRUE_BITS`
[INFO] [stdout]    --> src/main.rs:158:1
[INFO] [stdout]     |
[INFO] [stdout] 158 | static mut TRUE_BITS: [u8; 128] = [0; 128];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `FALSE_BITS`
[INFO] [stdout]    --> src/main.rs:159:1
[INFO] [stdout]     |
[INFO] [stdout] 159 | static mut FALSE_BITS: [u8; 128] = [0; 128];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `init_maps`
[INFO] [stdout]    --> src/main.rs:161:11
[INFO] [stdout]     |
[INFO] [stdout] 161 | unsafe fn init_maps() {
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set`
[INFO] [stdout]    --> src/main.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 179 |     fn set(&mut self, pos: Pos, value: bool) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get`
[INFO] [stdout]    --> src/main.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn get(&self, pos: Pos) -> bool {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `copy_from`
[INFO] [stdout]    --> src/main.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn copy_from(&mut self, map: &NewMap) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `shift`
[INFO] [stdout]    --> src/main.rs:190:8
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn shift(&mut self, dir: &Direction, n: usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `ipos_shift`
[INFO] [stdout]    --> src/main.rs:213:8
[INFO] [stdout]     |
[INFO] [stdout] 213 |     fn ipos_shift(&mut self, pos_shift: IPos) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `first_match`
[INFO] [stdout]    --> src/main.rs:228:8
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn first_match(&self, value: bool) -> Result<Pos, ()> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `count`
[INFO] [stdout]    --> src/main.rs:253:8
[INFO] [stdout]     |
[INFO] [stdout] 253 |     fn count(&self, value: bool) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `compose`
[INFO] [stdout]    --> src/main.rs:269:8
[INFO] [stdout]     |
[INFO] [stdout] 269 |     fn compose(&self, map: &NewMap, map_offset: &Pos) -> NewMap {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `reset`
[INFO] [stdout]    --> src/main.rs:399:8
[INFO] [stdout]     |
[INFO] [stdout] 399 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `dist`
[INFO] [stdout]    --> src/main.rs:715:8
[INFO] [stdout]     |
[INFO] [stdout] 715 |     fn dist(&self, rhs: &Pos) -> usize {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `isub`
[INFO] [stdout]    --> src/main.rs:719:8
[INFO] [stdout]     |
[INFO] [stdout] 719 |     fn isub(&self, rhs: &Self) -> IPos {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `IPos`
[INFO] [stdout]    --> src/main.rs:727:8
[INFO] [stdout]     |
[INFO] [stdout] 727 | struct IPos {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/main.rs:741:14
[INFO] [stdout]     |
[INFO] [stdout] 741 |     const fn new() -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `SECTOR_MASK`
[INFO] [stdout]    --> src/main.rs:749:1
[INFO] [stdout]     |
[INFO] [stdout] 749 | static mut SECTOR_MASK: [NewMap; NB_SECTORS] = [NewMap::new(); NB_SECTORS];
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `TORPEDO_RANGE_MAP`
[INFO] [stdout]    --> src/main.rs:750:1
[INFO] [stdout]     |
[INFO] [stdout] 750 | static mut TORPEDO_RANGE_MAP: OffCenteredMap = OffCenteredMap::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `TORPEDO_SIDE_HIT_MAP`
[INFO] [stdout]    --> src/main.rs:751:1
[INFO] [stdout]     |
[INFO] [stdout] 751 | static mut TORPEDO_SIDE_HIT_MAP: OffCenteredMap = OffCenteredMap::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static is never used: `SILENCE_RANGE_MAP`
[INFO] [stdout]    --> src/main.rs:752:1
[INFO] [stdout]     |
[INFO] [stdout] 752 | static mut SILENCE_RANGE_MAP: OffCenteredMap = OffCenteredMap::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `init_game_maps`
[INFO] [stdout]    --> src/main.rs:754:11
[INFO] [stdout]     |
[INFO] [stdout] 754 | unsafe fn init_game_maps() {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Exact`
[INFO] [stdout]    --> src/main.rs:804:5
[INFO] [stdout]     |
[INFO] [stdout] 804 |     Exact(Pos),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Area`
[INFO] [stdout]    --> src/main.rs:805:5
[INFO] [stdout]     |
[INFO] [stdout] 805 |     Area(NewMap),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/main.rs:822:8
[INFO] [stdout]     |
[INFO] [stdout] 822 |     fn new(water_map: NewMap) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `analyse_action`
[INFO] [stdout]    --> src/main.rs:831:8
[INFO] [stdout]     |
[INFO] [stdout] 831 |     fn analyse_action(&mut self, action: &OppAction) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `analyse_actions`
[INFO] [stdout]    --> src/main.rs:882:8
[INFO] [stdout]     |
[INFO] [stdout] 882 |     fn analyse_actions(&mut self, actions: &[OppAction]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Move`
[INFO] [stdout]    --> src/main.rs:975:5
[INFO] [stdout]     |
[INFO] [stdout] 975 |     Move { dir: Direction, sys: System },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Surface`
[INFO] [stdout]    --> src/main.rs:976:5
[INFO] [stdout]     |
[INFO] [stdout] 976 |     Surface,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Torpedo`
[INFO] [stdout]    --> src/main.rs:977:5
[INFO] [stdout]     |
[INFO] [stdout] 977 |     Torpedo(Pos),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Sonar`
[INFO] [stdout]    --> src/main.rs:978:5
[INFO] [stdout]     |
[INFO] [stdout] 978 |     Sonar(usize),
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Silence`
[INFO] [stdout]    --> src/main.rs:979:5
[INFO] [stdout]     |
[INFO] [stdout] 979 |     Silence { dir: Direction, dist: usize },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `into_opp_action`
[INFO] [stdout]    --> src/main.rs:998:8
[INFO] [stdout]     |
[INFO] [stdout] 998 |     fn into_opp_action(&self, current_sector: usize) -> OppAction {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Move`
[INFO] [stdout]     --> src/main.rs:1014:5
[INFO] [stdout]      |
[INFO] [stdout] 1014 |     Move(Direction),
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Surface`
[INFO] [stdout]     --> src/main.rs:1015:5
[INFO] [stdout]      |
[INFO] [stdout] 1015 |     Surface(usize),
[INFO] [stdout]      |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Torpedo`
[INFO] [stdout]     --> src/main.rs:1016:5
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     Torpedo(Pos),
[INFO] [stdout]      |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Sonar`
[INFO] [stdout]     --> src/main.rs:1017:5
[INFO] [stdout]      |
[INFO] [stdout] 1017 |     Sonar(usize),
[INFO] [stdout]      |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Silence`
[INFO] [stdout]     --> src/main.rs:1018:5
[INFO] [stdout]      |
[INFO] [stdout] 1018 |     Silence,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `parse`
[INFO] [stdout]     --> src/main.rs:1021:8
[INFO] [stdout]      |
[INFO] [stdout] 1021 |     fn parse(s: &str) -> Self {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `torpedo`
[INFO] [stdout]     --> src/main.rs:1278:8
[INFO] [stdout]      |
[INFO] [stdout] 1278 |     fn torpedo(&mut self, pos: Pos) -> Result<(), ()> {
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 45 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 5.42s
[INFO] running `Command { std: "docker" "inspect" "ace464dfdd44fc851e9e0708a8fb885b0d2b76d4364a34b89431f33b3ad12dbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ace464dfdd44fc851e9e0708a8fb885b0d2b76d4364a34b89431f33b3ad12dbe", kill_on_drop: false }`
[INFO] [stdout] ace464dfdd44fc851e9e0708a8fb885b0d2b76d4364a34b89431f33b3ad12dbe
